class Person():
    # 类属性
    country="中国"
    def __init__(self):
        self.name="张三"
        pass
    @classmethod
    def set_country(cls,countryName):
        cls.country=countryName
    @staticmethod
    def get_country():
        return Person.country
    pass

xm=Person()
# 类属性可以通过实例对象或者类对象进行调用
print(xm.country)
print(Person.country)
# 实例属性只能够通过实例对象进行调用
print(xm.name)
# print(Person.name)
# 类属性只能够通过类对象进行修改
Person.country="CHINA"
print(xm.country)
# 实例对象修改类属性本质上会创建一个实例属性，修改了属性值后，不会对类属性有影响
xm.country="China"
print(Person.country)
print(xm.country)

# 类方法，可以通过类对象进行调用 ,也可以通过实例对象进行调用
xm.set_country("中华人民共和国")
print(Person.country)

# 调用静态方法,可以通过类对象进行访问，也可以通过实例对象进行访问
print(xm.get_country())
